package thread;

import java.util.Scanner;

public class demo1 {
    //编译器优化（内存可视机制）
    volatile static int key1 = 0;
//    volatile static int key2 = 0;

    public static void main(String[] args) {
        Thread t1 = new Thread(() ->{
            while (key1==0 ){
                //啥也不做，运行速度非常快，就会触发编译器优化
                //用volatile修饰这个变量也可以避免这个情况
                //或者但是中间休眠将速度降低就不会触发这个优化
//                try {
//                    Thread.sleep(10);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
            }
            System.out.println("t1结束");
        });
        t1.start();
        Thread t2 = new Thread(() ->{
            System.out.println("请输入key");
            Scanner scan = new Scanner(System.in);
            key1 = scan.nextInt();

        });
        t2.start();

    }
}
